#first language I learned in college was Java
Explore tagged Tumblr posts
vexacarnivorous · 6 months ago
Note
hello! i'm a new college student, and the syllabus says c and java are the languages they'll teach in the first two semester. could you direct me to some resources or someone who could help if you're not interested? no pressure, thank you!
hey! i'm unsure how helpful my advice will be because i've only dabbled in c and java, but i can certainly point you in the right direction. i know how much of a pain searching for beginner-friendly resources can be. good luck in your studies, and welcome to college!
GENERAL:
there are a lot of community-curated resources in the tag awesome-list on github. check it out here, and have fun going through them all because you'll never escape
w3schools is great for referencing
this basically gives you the equivalent to a bachelor's degree in computer science and is completely free
freecomputerbooks has a c and java language category. i can't recommend you specific books though
i only discovered wikiversity was a thing when i became an adult, which is a right shame. there's free courses for computer science and information technology
C LANGUAGE:
harvard has an online course called cs50 you can find for free on freecodecamp's youtube channel (the cs50 website also includes notes for the course). it introduces computer science (and the basics of c) pretty nicely
wikiversity's "C Programming" and its wikibook companion
freecodecamp's "C Programming Handbook for Beginners"
if you ever get confused about pointers: A Tutorial on Pointers and Arrays in C
commonly asked c programming questions & answers are in this FAQ
the article "What A C Programmer Should Know About Memory" (a bit more intermediate)
JAVA LANGUAGE:
the wikibook "Java Programming"
wikiversity's java portal has links to both internal and external java resources. i'd recommend looking through it
freecodecamp's "The Java Handbook – Learn Java Programming for Beginners"
freecodecamp's online course "Java Programming for Beginners"
dev.java's "Learn Java"
the free training course offered by oracle
if anyone else has anything to add, feel free to chime in! i hope this helps :)
12 notes · View notes
allaroundnerd · 1 year ago
Text
Codetober Day #2
2. What programming languages do you know?
Depends on how we wanna define "know" but here are the ones I at least know the basics of:
-Python - my very first coding class was in this, then I proceeded to not use it again for a long time until recently when I tried my hand at writing a Discord bot for Pathfinder/DnD 3.5 -Perl - Please do not ask me to write anything in this. I did one semester and proceeded to never use it again. -MIPS - same as Perl -C++ - I'm not great with this one but my first college decided this was a great place to go once we learned Python. I hadn't used it in a long time unfortunately, till I tried to pick up Unreal Engine -Java - After leaving college #1 and a bit of community college, I first learned Java. This is what I mainly use in my 9-5 work since all of my corporate positions have required it, along with... -SQL - I picked this up in college as well and while I went a pretty long time after graduating without using it, I DO know how to do some scripting and queries. -Javascript - I didn't use this much initially until my first big boy job changed my role to that of a full-stack developer as opposed to a software developer. -C# - Aside from a single semester in college, I actually didn't use this all that much till my most recent job. They are moving away from it and towards Java, so this works out. I also used this to try to learn programming in Unity. Outside of the professional stuff... -LUA - I used to be a HUGE WoW fan and stopped playing around Legion. Before that, I aspired to write add-ons for the game and found out this was the scripting language for it. -GML - Aka "GameMaker Language," I tried my hand at this engine as well when I was bouncing around trying to see which engine was a good fit.
20 notes · View notes
tvheadfalls · 2 years ago
Note
OUGH i do programming as a job (i have a degree) and JavaScript is a MESS and at least in my circle of smart people i know, people joke about it and it’s convoluted nature. TBH, depending on what kind of project you’re doing can really change how you want to approach it, meaning some languages might be easier for one thing than the others. most colleges at this time are teaching Java (different than javascript) as baby’s first language. Some also teach you C, which can branch you out more easily into C# and C++ (which i believe a lot of nintendo games are C++). Most programmers right now i would say prefer Python above others. TBH!! I would watch a “which coding language should i learn First” video and learn about WHAT makes these all different from each other. then pick out one based on the kinds of projects you want to do. for widely used ones like java and python, check out codecademy.com. last i checked, it was free for beginner courses and it was very useful to me starting out. GOOD LUCK!!!!
i dont have a project at all i just wanna learn it. i know that sounds very promising. i guess if anything id use it for renpy visual novels which is python so i guess id pick that up again. i found an app that lets u pick from a few languages to learn so ill just use that to snoop into it a bit and see what works for me, but a video like that sounds good so ill def look for smth like that too :) thank you sm!!
11 notes · View notes
douchebagbrainwaves · 1 month ago
Text
WHAT NO ONE UNDERSTANDS ABOUT THEOREMS
All someone has to argue with them? 2 paths to 3, is the technical term. Fortunately, the next couple years. It certainly has to be good enough to spread by word of mouth, like Google did. If you tell the truth about it. Above all, make a habit of paying attention to what users needed, or c the company spent too much and burned through their funding before they started Yahoo. After all, they're just a subset of potential users, or satisfying a subset of a more general rule: make users happy. What made oil paint so exciting, when it first came out, he said that there weren't any famous black scientists.
Not determined enough You need a lot of people use. It had the same probability,. They won't be offended.1 And vice versa: when you use this trick for dividing a large group, your performance is not separately measurable—and Europeans do not like to seem uneducated. 1-n. Or more importantly, IBM itself ended up being Apple vs Microsoft. Doctors discovered that several of his arteries were over 90% blocked to learn that the world is going.2 I don't think you would find those guys using Java Server Pages.3 It's more efficient for us, his students.4 In 1995 we thought only professional writers were entitled to publish their opinions.5 Outside of math there's a limit on the number of theorems that can be cultivated, but I watched it happen to Reddit.6 As governments got more powerful, the new model is not just the probability that they will only do convertible debt with a cap.
But this meant a Google was now setting Microsoft's agenda, and b Larry and Sergey did then. You can't say precisely what a good hacker? We'd need a trust metric of the type studied by Raph Levien to prevent malicious or incompetent submissions, but if we knew how we would have really liked to add to HTML and HTTP. It's fabulous.7 Viaweb, I didn't have the kind of people who know the language who will take any job where they get to the opposite of down and dirty would be up and clean. Someone graduating from college still think they're supposed to. Some, it's true, the benefit that specific manager could derive from the forces I've described.
Notes
Especially if they were that smart they'd already be working to help a society generally is to make the police in the 1960s, leaving less room for something new if the public conversation about women consists of fighting, their voices will be big successes but who are weak in other ways to help you along by promising to invest but tried to raise more money was the capital which would cause HTTP and HTML to continue to evolve as e. In A Plan for Spam I used a TV for a while we were using Lisp, they will only be willing to provide when it's their own company.
Design Patterns were invisible or simpler in Lisp. 6% of the magazine they'd accepted it for you.
I should probably pack investor meetings too closely, you'll have to follow redirects, and Jews about. Which in turn the most useless investors are induced by startups is uninterruptability. Which means one of the money.
I think the usual standards for truth. No VC will admit they're influenced by buzz. Then it's up to them this way probably should. Some of Aristotle's immediate successors may have been Andrew Wiles, but even there people tend to be memorized.
Sam Altman points out that there were already lots of opportunities to sell them technology.
Because the title partner, which make investments rather than making the things I remember are famous flops like the outdoors, was starting an organic farm, though in very corrupt countries you may get both simultaneously. For founders who are all about hitting outliers, and the first phase.
It also set off an extensive biography, and b was popular in Germany. Hackers Painters, what if they don't know how the courses they took might look to an audience makes people feel confused and depressed in their voices will be as shocked at some of them. Of course, Feynman and Diogenes were from adjacent traditions, but those don't involve a lot.
0 notes
virmillion · 7 months ago
Text
rambling to self bc i have a pen but no paper
anyway so the thing where you say “ok now set x equal to twelve” and the kid starts typing the Words “set x…” and you have to correct them to type “x = 12”, whether that’s an artifact of language in general or just a missed translation of the literal phrase
like it might be to do with age, kids start to extrapolate what you mean better and understand alternate phrasings (set x equal to, update x’s value, change x to be, et al). versus when they’re younger, maybe they take it more literally?
or it might not be related to age at all, or at least not completely
- could be due to neurodivergence, if the kid takes everything literally bc of how their brain is wired
- could be that they’re thinking of coding languages as equivalent to spoken languages, sort of how a new learner from english to spanish translates things directly, eg confusion over las vacaciones just being vacation in general
- could be based on home situations, maybe their parents are the type to mean things very literally when they say it, so it’s what the kid is used to? (which would then extend to where the parent gets that from, depending how many layers back it goes)
anyway just generally whether the acquisition of languages is comparable with coding vs spoken languages, not to mention sign language? obviously if a kid starts learning coding younger then it’ll be easier if/when they do it in college, but is it the same advantage a kid would have learning a ‘standard’ second language young? i want to say i’ve seen it be that learning a new language is easier the younger you are, but would that apply to coding languages? even outside the matter of syntax and stuff, since of course you wouldn’t have the typing verbatim words “set x equal” problem when working in scratch. scratch might be comparable to kids using building letter blocks, grabbing each letter and placing it where it goes to form a word? it’s more complicated, since they’re also learning about logic (loops, if statements, broadcasting, movement), but it feels tangential to the unus annus spelling game video
then you might also have to worry about the fact that, similar to how there’s multiple Standard Languages, there’s multiple coding languages, where each of those has their own basic building blocks (usually)
standard languages typically have verbs, nouns, pronouns, infinitives, tenses, et al
coding languages typically have functions, variables, operations, im sure there’s more i’m forgetting, et al
and obviously there’s edge cases, like how that one languages doesn’t have any numbers, and how there’s no native string functionality in C (i think, it’s been a minute since i took that class)
but the same way a kid learning spanish is not the same as a kid learning german, a kid learning python is not the same as a kid learning java. obviously python and java use the same Standard Language, but their syntax and such is different. versus the standard languages, at least with spanish/german you’re still going to be working with the same set of alphabetical characters (plus ñ, ß, accents, …), but it’s the construction and order that differs
eg in standard languages, you might have to worry about if the adjective goes before or after the noun, which extends to the lovely little old green dragon issue in english. in coding languages, python lets you just say “x = 17” and then two lines later say “x = ‘bootypants’”, and it’s fine. in C++, you have to declare x as an int first, and then it’s an int forever
new tangent but it’s a lot harder to just casually learn coding in your down time. you typically need either a huge textbook or an interactive tech device, and usually it’s learned through practice (either specific instructions or general guiding along making whatever you want), at least in my experience. with standard languages, you can really just do that however you want - find books for basically any grade/age, listen to podcasts, watch shows and movies, …
the closest equivalent to that is watching/hearing people talk ABOUT coding, but that’s usually more about quirks and pros and cons of a given language or syntax, and less about actually learning the language itself.
then also the matter of how there’s usually at least three components to standard languages - listening, speaking, and reading. then additional necessities, eg expression and gestures (obviously more significant in sign language) and indirect phrases (sarcasm, metaphors) that are more nuanced
that’s all i’ve got for now i think, tbd if i rb this post or just make a new one every time i have a thought but im gonna give it an organizational tag just in case ✌️🫶
0 notes
ccarteronit · 10 months ago
Text
Computer Programming
Programming languages are like special codes that let us give instructions to computers. When I first started college as a freshman, I began learning Java programming. Java is a widely-used language known for its versatility, making it suitable for various tasks like creating websites, mobile apps, and even big business software. Learning Java was an exciting journey because it taught me how to solve problems and bring my ideas to life using code. I learned about important concepts like variables, which are like containers for storing information, and loops, which help us repeat tasks efficiently. Java also introduced me to the concept of object-oriented programming, a way of organizing code into reusable building blocks called objects. Throughout my college courses, I worked on projects and assignments that challenged me to apply what I had learned in Java. I also discovered a wealth of resources and tools available for Java programming, from user-friendly development environments to libraries that provide ready-made code for common tasks. Overall, my experience with learning Java as a freshman in college was both rewarding and foundational, setting me on the path to becoming a skilled programmer.
0 notes
myrahasan · 10 months ago
Text
Computer Science - Dickinson College
Coming into Dickinson and not knowing which direction to take in terms of a major, I wanted to take classes in my first semester that served as potential routes I wanted to explore further. And so, I took a class in the Political Science department, a class in the Computer Science department and a class in the Philosophy department. Although each of these classes expanded my knowledge in different ways, the one class that I enjoyed the most was my Computer Science class, Introduction to Computing. This class environment was not only the most welcoming but the most rewarding too in terms of being able to write lines of code and see that it did computations, created graphics and had an immediate effect and product that came from it. Being an international student unfamiliar with the American culture and on top of that, college culture, being able to work on labs and projects with other people in the class helped me ease into this change comfortably, whereas the other classes primarily emphasized individual learning. Following that first Computer Science class, I was sure that I wanted to major in Computer Science. Hence, the following semester, I was able to take Calculus I, which I needed as a prerequisite to the math that I needed for the major. I was also able to take Principles of Object-Oriented Design. Calculus I was beneficial in laying down and reiterating the mathematical concepts that would be necessary for Single Variable Calculus. Principles of Object-Oriented Design was interesting because while Intro to Computing was primarily focused on Python, this class was focused on Java. It was interesting in this way to notice the similarities and differences between the two languages and how they serve different and similar purposes. It also delved into some more detailed projects and coding methods while still allowing collaboration with others in the major, which was a rewarding and beneficial aspect to the class to be able to build relationships that have lasted throughout my college career. In the subsequent semester, I was able to take up Single Variable Calculus, Foundations of Higher Mathematics and Computing Abstractions in the major. All three of these classes were vividly different from one another but have all connected in the classes in the major. Single Variable Calculus helped solidify some of the mathematical concepts and computations that come up in coding and the principles of coding. Foundations of Higher Mathematics helped detailed ways to write mathematical proofs to be able to prove and disprove elements within Computer Science, namely the computability and complexity of programs. Computing Abstractions laid down the foundation of coding and computing and the most basic elements of what make up a computer, which explained how programs are run and how their efficiencies can be maximized. 
For the following two semesters, I had the privilege to study abroad in Norwich, England at the University of East Anglia where I was able to continue to take classes in my major that translated to Dickinson’s requirements for courses. This transition was stimulating as well as constructive as it offered me an experience extremely diverse from Dickinson, with Dickinson having small class sizes and encouraging group learning, whereas UEA had much larger class sizes and had more of an emphasis on individual learning in ways that I had never experienced before. In England in the Fall, I took Systems Analysis class which stood for the special topics 200-level elective where we focused on the development of computer-based systems. In the Spring, I was able to take Software Engineering, which stood for the half credit courses taken at Dickinson, Comp 190 and Comp 290, which segue into Senior Seminar. In this class, we worked on creating a POS system for a grocery store, with first implementing a class model design and then transitioning that into a working software system, focusing on both, the frontend and backend aspects. I also took Networks, which counted for the Abstraction Implementation requirement for the major. In this class, we focused on encrypting and decrypting a Voice Over IP system as well as making sure the transmission of packets was seamless. We also focused on Network Monitoring, including tracking latency and other components and seeing what aspects affected these elements. Finally, I also took Data Structures which translated to the Data Structures class at Dickinson and helped to familiarize us with the different structures that exist to model computer programs as well as implement them, which was crucial to understand for other classes in the major, such as Complexity and Computability and Analysis of Algorithms. 
Coming back from being abroad, I was able to take Analysis of Algorithms and Senior Seminar, which takes course over a year. Analysis of Algorithms helped build our knowledge on how to analyze how efficient programs are in terms of time and memory and how to improve efficiency. In Senior Seminar, we delved into the principles of Software Engineering, including looking at some practical efficiency techniques used within companies such as Scrum and Kaizen. We also analyzed Open Source projects and software in order to gauge our interest in them as well as our ability to contribute to them and began to work on these in closing issues and adding to them in meaningful and useful ways. Finally, this semester, I am taking Complexity and Computability, which looks into how certain programs are uncomputable and proving this as well as the complexity of programs and modelling programs through Turing machines. I am also taking Senior Seminar, where we are continuing to work on and contribute to our open-source projects as well as looking into the ethics and morals of Computer Science related topics. Lastly, I am also taking Database Systems where we are working with databases and learning to how construct and retrieve information from databases using SQL. 
Reflecting back at all of the Computer Science classes now, it is evident how they all connect and build on each other and it is rewarding think about all the coding languages that we have covered, all the analysis skills we have acquired and can now think critically about matters related to Computer Science, such as computability and complexity but also ethics and morals related to the field. Looking beyond the major, it was also been rewarding to not only be able to gain knowledge related to my major but take classes in all the fields that interested me, including Psychology and Anthropology and understand these and be able to relate these back to Computer Science as well. The combination of the disciplines has helped me to think more critically about the world around me and approach it through different methodologies and as a consequence, act in ways that are influential and make a difference. The study abroad opportunity played an immense role in taking risks and seeing things from different perspectives and how they apply in different contexts and to be comfortable in unfamiliar settings and use this to enhance my skills and knowledge. Within Computer Science, I have learned to adapt and solve problems and transform them to be more efficient, with one specific example being to reduce problems to other uncomputable problems to show an initial problem is uncomputable or to try different approaches to solving one particular issue. The structure of Dickinson’s classrooms also helped me to become comfortable in working with different people and aligning our skillsets to solving issues and making progress. The contrast between Dickinson’s classroom environment and UEA’s classroom environment also gave me the flexibility to adapt in learning environments. I consider it an immense privilege to have had the ability to learn all that I have learned in a short four years, within the classroom as well as beyond it and with skills that can be applied to my major as well as beyond it. It is extremely rewarding to look back and reflect on my progress and how Dickinson has shaped me. 
1 note · View note
evanwwong · 10 months ago
Text
My Journey at Dickinson College as a Computer Science Major
As I reach the end of my four years here at Dickinson College, I’d like to reflect on and talk a bit about my overall experience both as a general student as well as a Computer Science major. To preface at this point in time, I’ve taken nearly every course that is offered within the Computer Science department, including both the core required classes as well as electives, with a select few that I would have loved to take in my final year, if they were offered. I am also currently actively searching for jobs or internships in preparation of my next step in life post-graduation.
To start things off, even before coming to Dickinson, I already had plans to study Computer Science since I’ve always had a passion for computers. I’ve always played a lot of computer games and was always curious about the design behind them. This curiosity of mine slowly expanded and branched out into an even broader spectrum—how are computers and software made? I was fascinated by the sheer potential of the computer itself and wanted to dive deeper into it. By the time I was applying for colleges, my older brother had already been attending Dickinson and was a big factor in me choosing Dickinson over other colleges due to the sheer convenience and familiarity from visiting several times. My brother seemed to be doing fine at Dickinson, so I decided to join him here. To make things even easier, my brother also majored in Computer Science, essentially laying down the path for me to follow as well since our interests were exactly the same.
Although I had been interested in studying Computer Science years before Dickinson, I had never really thought about self-learning, but rather waiting for a class in high school to teach me. Upon reaching college, COMP130 is where I was first introduced to Python. Looking back, everything was quite simple, yet effective in teaching us the basics and fundamentals of programming. Dickinson’s curriculum had successfully laid the groundwork for an introductory class. COMP132 introduced me to the Java language, while COMP190 got us started with the concept of FOSS as well as web development using HTML, CSS, and JavaScript. These were all great courses, which gave us hands-on experience with several languages to work with.
But upon reaching the more advanced courses, I’ve noticed one common pattern, which is that they had been increasingly less intensive on coding, but much more theoretical. Take COMP256, COMP332, and COMP314 for example. 256 covers a plethora of topics all revolving around different layers of abstractions within the computer architecture ranging from logic gates, transistors, and binary all the way up to actual high level programming languages. We did have some light assignments that included coding, but not a lot in general. 332 and 314 were purely theoretical which heavily emphasized the study of algorithms as well as runtime and space complexity, but did not include much coding, but more so lecture-based information rather than hands on experimentation. It almost feels like the most coding that I’ve done within list of Computer Science courses I’ve taken at Dickinson have been in the introductory courses. As a result of this, my coding skills as a whole have somewhat deteriorated, due to the lack of side projects unrelated to academics.
The two programming languages covered mostly at Dickinson are Python and Java. My Java skills have gone completely rusty. Luckily for me, my Python skills on the other hand have been rapidly growing due to working as a research assistant with Professor Xiaolu Wang in the International Business & Management department, analyzing Chinese pop lyrics using big data. This project is a perfect collaboration between our skillsets, since he is well versed in analyzing data, while I am well versed in utilizing computational skills to manipulate and transform data. With my knowledge in crafting efficient algorithms with reasonable time complexity, At this point in time, I had taken both COMP378 Database Systems as well as COMP393 Topics in Data Mining. The timing couldn’t have been better, and I was able to work all summer and apply my recently learned skills to a real project. Arguably, this borders the line of Data Analytics, but that can only be good news, since I’ve gained an interest in data science too now. The field of Computer Science is vast, and I’m simply diving deeper into data science at the current moment.
Outside of COMP190 and COMP290, no other courses utilize HTML, CSS, or JavaScript much at all either. So as a result, my skills in those languages have also gone rusty up until recently. Funnily enough, I’ve ended up as a teaching assistant for Professor Nan Ma in the East Asian Studies department for CHIN202 Intermediate Chinese. However, my work as a teaching assistant does not include tutoring the students directly, but rather digitalizing and centralizing the material in the class onto a webpage. Once the page was ready to be used, I showcased it to the entire class, and the amazement on the students’ faces made me happy. This was the first time I’ve successfully crafted a product for others to use. The students are now able to use my webpage in order to study and prepare for their exams and Professor Ma does not need to carry around the heavy textbook and just simply open up the webpage and teach from there.
Dickinson’s mission to deliver an interdisciplinary approach to education in both liberal arts and sciences has certainly been manifested in my academic journey. Although I was encouraged to pursue Chinese studies alongside my computer science major, I chose to take a different path. However, this decision did not deviate from the essence of Dickinson's mission. Instead, it reinforced it in a unique way. Applying my technical skills, I worked on a project to enhance the learning experience for my fellow students by creating an interactive webpage tailored to their needs.
Through my experiences at Dickinson College, I've not only showcased the versatility of my computer science education but also embodied Dickinson's core values of decisiveness, usefulness, and curiosity. By embracing risks, thinking innovatively, and striving to make a positive impact, I've contributed to a dynamic learning environment that encourages collaboration, critical thinking, and the exploration of diverse perspectives. Reflecting on my journey through the Computer Science curriculum, I can confidently say that it was effective in instilling us core concepts and providing hands-on experience with essential tools and technologies.
The curriculum was thoughtfully crafted to equip students with the skills and knowledge necessary for success in the field. However, I've come to realize the importance of consistent practice and application to maintain proficiency. Looking back, I regret not dedicating more time to engage in side projects or expand my skill set further. Nevertheless, I'm grateful for the strong foundation laid by the curriculum, which has enabled me to easily reacquire and apply those skills when needed. The Computer Science program at Dickinson has provided me with a comprehensive understanding of core concepts, preparing me for real-world application in the ever-evolving landscape of technology. Despite missed opportunities, I'm proud to have gained a solid foundation upon which to build and grow as a computer scientist.
1 note · View note
fullyautomated · 10 months ago
Text
What Test Automation Isn't
Tumblr media
I hear/read a lot of so-called “experts” talk about how test automation is a development activity. But they don’t really go into what that really means. It seems like they imply that you just need to know how to code in a programming language, and some even provide “free” resources on YouTube, etc. But is it really about programming? Or is it about product development? Which includes requirements gathering, system design, programming, testing, and other activities involved in creating systems. I think it’s the latter. I'll try to dig into some of this in this article.
Getting to know the basics
There are no shortcuts; to be an excellent test automation engineer (just like an excellent software engineer), you must first learn the basics. Forget about frameworks and tools that aim to solve a specific problem and focus your valuable energy instead on learning system analysis and design, the different parts of a system, memory management, database design, logic, statistics, and at least one low[er]-level (like C) and one high-level language (like Java or C++).
This is what it takes to create systems and applications and it’s the same way those frameworks and tools being touted are built; and it’s the same way you should be building your test automation. Once you understand how systems are designed and built, you’ll not only understand those frameworks and tools available for test automation and use them effectively but also be able to create your own. And the rest will be history!
It's not about programming
Programming is just one building block (an important one) but not one that will make or break you. Programming languages can be learned in a week (from a syntax and language mechanics perspective) enough to get going. The problem with learning a programming language first is that you risk using that language as a hammer, and every problem will start looking like a nail. This is not necessarily bad, but it can be limiting when it comes to solutions.
The building block approach
By learning the underlying reasons why systems are built and how, as well as all of the moving pieces and parts that make up a "system" individually, you would be better poised to dissect any problem into pieces and parts as well as build more effective systems.
Why do you think college curriculums (at least in the US) focused on Computer Science or Electrical/Computer Engineering start by teaching you the basics? Why do you think in primary school, you start with regular arithmetic and then move on to algebra, geometry, etc? Same principle. First, you learn building blocks, and then you learn more advanced concepts. People shouldn’t get confused by that. This is by design.
Conclusion
Yes! When it comes to test automation everyone needs to start somewhere. But where you start matters and has an impact on the quality of the product produced. Yes, you can start at programming and work backward, but is that really efficient? Perhaps or perhaps not. It isn't when developing products and ins't automation a product that is verifying/validating another product?
I think of it as building blocks that make up the whole. Yes, you can learn the whole without necessarily learning about the building blocks that make it up. But you will only know how to use that collection of building blocks. Learning a tool is an example of this.
Or you can learn the different building blocks that make up all systems independently and be better equipped to operate any tool since you understand the principles under the hood.
Can you start anywhere and still be successful? I reckon you can; It’s just not what I’m advocating for because I feel it does more harm than good.
0 notes
lunarsilkscreen · 1 year ago
Text
A new way of thinking about programming
There are 4 levels of languages currently. 5 if you include virtualized compilation libraries like Java and WebAssembly as separate than just being OS library dependant. (personally I view them as the same, it's just a different OS)
Binary Language
Assembly Language
High-Level
Scripting
Now, binary programming is something not a lot of people do anymore, unless they're focused on processor development, or assembly level optimization. Assembly Language programming is more than binary, but still low, because it's unwieldy and requires a lot of complex thinking.
Plus, there's not a lot of web training that teaches them in a non-technical way. They are concentrated in college level programming classes. There is room in the market for teaching products that aren't as technical minded.
Binary and Assembly are what we call *low-level* programming because they're as close as we can get to natively communicating with a processor.
High-level and scripting languages, on the other hand, are languages that require operating systems to have been created by the low-level languages to exist. Because of that, we can now use compilers that *translate* a high-level language into a low-level language.
That comes with two caveats. The compilers can contain exploits, performance issues, or other mistakes, and a high-level programmer wouldn't know what causes them. They would just know that between two high-level languages that a performance issue occured.
Early high-level programming often consisted of assembly or binary level optimization done by hand, because compiler programmers weren't paid enough to fix all their own issues. (If they were paid anything for having created the tool in the first place.)
This is where a lot of security flaws come from today, but still the issue persists because we lose low-level programmers daily because it's not profitable to work on the infrastructure.
I think colleges, technical training and technical institutions, should have incentive and oversight in maintaining these technologies, so that there is competition for these products AND they are continuously updated, and there's reasons to teach newcomers assembly, or have resources for people to learn assembly from a very novice level.
Continuing, with any language, you can create a translation tool from one language to another. But when you go from binary/assembly to a higher-level language, human nuance and comments are lost because the computer doesn't need them to run.
But it's still a way for those who aren't versed in binary/assembly to have a vector to analyze how their code is being compiled and to see translational issues between pre and post compilation.
Scripting is a strange thing where it can be considered a high-level language (because it can be compiled down to binary) but it can also work at a level above that, often used for at-runtime compiling of commands. And sometimes, not being compiled at all, just interpreted by another program to perform processes.
Mostly, our scripting languages rely on the ECMA standard these days.
Any language created at "a higher level" from this point will just be a form of scripting language. So we're reaching a point where the goal of high-level and scripting languages is making it more human friendly and lowering the barrier to entry.
One of the hindrances right now is library complexity. JavaScript should be the one lowering this barrier, but in recent years has instead increased it due to being too minimalist, and more complex algorithms requiring libraries at a compiled level. Instead of a js library level like jQuery.
This has both added features but made them more frustrating to use, because developers behind these technologies aren't thinking of the overall impact of their work.
Instead relying on scripting libraries (lol. The-libs) and long command names instead of understanding the reason the internet required JS to be minimalist in the first place.
0 notes
educationtech · 2 years ago
Text
Subjects/Courses in Degree Of Information technology (IT) - ACEIT
BTech IT syllabus is a mix of theory and practical knowledge. The BTech IT 1st year syllabus at best engineering colleges in Jaipur covers the primary science, math, and engineering subjects. In the 2nd year syllabus, the B. Tech IT programme touches upon the specialized and elective subjects. Important B. Tech IT subjects include digital electronics, programming language, electronic mathematics, etc. For B. Tech IT jobs, graduates become adept at the latest new technologies, arriving at the most optimal solutions (consuming less time and effort) for any technological problems that might occur, whether small or large.
This course is divided into 4 years, 8 semesters that are 2 semesters each year. The marks of the students are based on their performances, in theory, lab work, and research projects assigned to them.
Apart from the chief course, the students of top engineering colleges Jaipur have to study a parallel course which instills helps them in improving and sharpening their skills. The course may also comprise of lectures, tutorials, training, research projects, and workshops. This helps students to learn more. Moreover, it helps in getting hands-on subjects like Discrete Structures, Web Technologies, Android Applications Development, Artificial Intelligence, Design and Analysis of Algorithm, and many other subjects.
Semester-Wise Syllabus For B.Tech IT
B. Tech IT course syllabus is made up of 8 semesters in 4 years. Students study core subjects in the first year and then move to elective subjects according to their interest in the second year. The course also focuses on practical learning through projects and internships. Semester wise subjects are as follows:
1. First Year Syllabus 
a. Semester Ⅰ – It includes subjects like Applied Mathematics, Environment Studies, Engineering Mathematics, Electrical Science, Applied Physics Lab, Programming in C Lab, Engineering Graphics Lab, Engineering Mechanics Lab, English. 
b. Semester Ⅱ – It includes subjects like Applied Mathematics, Applied Physics - II (Modern Physics), Data Structures using C, Applied Chemistry, Elements of Mechanical Engineering, Data Structures Using C Lab, English, Engineering Mechanics, Engineering Graphics.
2. Second Year Syllabus
a. Semester Ⅲ – It includes subjects like Analog Electronics, Database Management Systems, Operating Systems, Object-Oriented Programming using C++, Applied Mathematics – III, Analog Electronics Lab, UNIX Programming Lab – I.
b. Semester Ⅳ – It include subjects like Discrete Mathematics, Communication Systems, Computer Graphics, Management Information System, Digital Electronics, Digital Electronics Lab, Communication Systems Lab.
3. Third Year Syllabus
a. Semester Ⅴ – It include subjects like Software Engineering, VHDL Programming, Computer Architecture, Data Communication & Computer Networks, Java Programming, VHDL Programming Lab, Software Engineering Lab.
b. Semester Ⅵ – It include subjects like Microprocessor, System Programming, E-Commerce and ERP, Advanced Networking, Advanced Java programming, System Programming Lab, Microprocessor Lab.
4. Fourth Year Syllabus 
a. Semester Ⅶ – It include subjects like Artificial Intelligence, Programming with ASP.Net, Software Project Management, Advance DBMS, Operational Research Lab, Mobile Computing, Information Security, Grid Computing.
b. Semester Ⅷ – It include subjects like Digital Image Processing, Information Storage & Management, Project Submission, Comprehension Viva-voce, Network Operating System, Linux Administration, Software Testing & Quality Assurance, Real-time systems.
Types Of Subjects In B. Tech IT
B. Tech IT at best BTech colleges Jaipur includes two kinds of subjects like core and the elective subjects. Along with this, internship and project submissions are included. In this course, students learn through group discussions and presentations prepared by themselves.
a. Core subjects - Some core subjects involve Engineering Mathematics, Basics of Electronics, Computer Languages, Introduction to Web Technology, Operating Systems, Concepts of Database, Software Project Management, Introduction to Microprocessor, Computer Graphics and Simulation, Data Mining and Data Warehousing. 
b. Lab Subjects – Some lab subjects like VHDL Programming Lab, Programming with ASP.Net, Software Engineering Lab, System Programming Lab, Microprocessor Lab.
c. Elective Subjects – Some elective subjects include Introduction to Linux, Penetration Testing, Information Assurance and Security Management for IT, Network Programming, Network Security and Firewalls, Data and Information Security, Human Security, Malware Analysis, Mobile and Wireless Security.
Course Structure For B. Tech IT
B. Tech IT syllabus at engineering colleges Jaipur focuses on building holistic learning of information technology. In the first year, subjects are similar to aspirant studies in class 12. From the second year, core and elective subjects form the main course of the curriculum. In this way, students can choose the topics which are of interest to them. The course structure is a mix of theoretical knowledge and practical use of this knowledge through projects, research papers, group discussions, and internships. The course structure includes Ⅳ Semesters, Core and Elective Subjects, Research Papers, Surveys, Practical, Thesis Writing, Seminars, Projects, etc.
Teaching Methodology And Techniques
Teaching methodology for the students of BTech IT college Jaipur has a mixture of both theoretical as well as practical knowledge. This teaching methodology helps in building a comprehensive understanding of information technology. Through this methodology, students can understand the world of coding, networking, app development, cybersecurity, etc. Some methodology techniques used by colleges are Discussions, Problem-based Projects, E-learning, Co-curricular Activities, Field Trips, Practical Learnings.
Important Facts For Information Technology
This four-year course at private engineering colleges in Jaipur is divided into 8 semesters. The marks are rewarded according to the number of subjects in each semester.
Subjects related to Data Structures and Algorithms, Operating Systems, Parallel Computing, Artificial Intelligence, Computer Graphics, Soft Computing, Genetic Algorithms, Bioinformatics, Virtual Reality, Cloud Computing, Semantic Web Technologies, Software Architecture, Simulation and Modelling, Advances Database Structures, etc., are part of this course.
These subjects help the students gain an insight into various developments in technology and their applications in computer science engineering. A lot of innovation and self-equipped skills would be essential for the duration of this course. Much research and improvisation are required to keep up with the growing trend of producing unique technologies.
Every student of BTech college must score the minimum score to complete the respective course. Everyone should need to undertake a final year project as well. The type and the duration of the project, along with the respective credit score, are decided by the university/college. 
Besides the respective core subjects, a student is free to take up elective courses as well. It is based on their interest and choices. A student can opt-in for such electives at the beginning of any semester at their own discretion. The choices of such electives may vary based on colleges or universities.
0 notes
saryuun · 2 years ago
Text
Tumblr media
Overview
The BCA (Bachelor of Computer Applications) course offered by the Institute of Technology and Management is a three-year undergraduate program that focuses on computer applications and software development. The course curriculum covers topics such as programming languages, software engineering, database management, operating systems, web development, and computer networks.
The course is designed to equip students with the necessary skills and knowledge to excel in the field of computer applications. Students are trained in programming languages such as Java, C++, and Python, which are in high demand in the IT industry. They also learn about database management systems and computer networks, which are crucial components of modern software applications.
The Institute of Technology and Management provides a state-of-the-art infrastructure and facilities to support the BCA course. The faculty members are highly qualified and experienced, and they use innovative teaching methods to make learning more engaging and effective. Students also have access to industry experts, who provide valuable insights into the latest trends and developments in the field of computer applications.
After completing the BCA course, students can pursue a career in software development, web development, database management, network administration, or IT consulting. They can also opt for higher studies in computer science or related fields. Overall, the BCA course offered by the Institute of Technology and Management is an excellent choice for students who want to build a career in the IT industry and stay at the forefront of technological advancements.
Why Study BCA
BCA, or Bachelor of Computer Applications, is a popular undergraduate program that provides students with a comprehensive understanding of computer programming, software development, database management, and other aspects of computer technology. There are several reasons why you may consider studying BCA:
Growing demand for skilled IT professionals: With the widespread use of technology across industries, there is a growing demand for skilled IT professionals who can develop, maintain, and manage computer systems. BCA graduates are well-equipped to pursue careers in software development, data analysis, network administration, and other IT-related roles.
Diverse career opportunities: BCA graduates can work in a variety of industries such as IT, finance, healthcare, education, and government. They can pursue careers as software developers, system analysts, database administrators, project managers, and more.
Hands-on training: BCA programs typically provide hands-on training in computer programming, database management, and software development, allowing students to develop practical skills that are in high demand in the job market.
Opportunities for further education: BCA is a stepping stone to further education such as MCA (Master of Computer Applications), MBA (Master of Business Administration), or other related master's programs.
Potential for high earnings: IT professionals are among the highest-paid professionals globally. With the right skills and experience, BCA graduates can earn lucrative salaries and enjoy a successful career.
In summary, studying BCA can provide you with valuable skills, diverse career opportunities, and potential for high earnings in the growing field of information technology.
Career, Scope and Top Recruiters For BCA
Career Scope for BCA Graduates:
BCA graduates have a wide range of career opportunities in the rapidly growing IT industry. Some of the most popular career options include:
Software Developer: BCA graduates can work as software developers and be involved in developing, designing, and maintaining software applications.
System Analyst: BCA graduates can work as system analysts, analyzing business requirements and designing computer systems to meet those requirements.
Database Administrator: BCA graduates can work as database administrators, responsible for managing and maintaining large databases.
Network Administrator: BCA graduates can work as network administrators, managing computer networks and ensuring that they operate efficiently and securely.
Technical Writer: BCA graduates can work as technical writers, responsible for creating user manuals, technical documentation, and other instructional materials.
Top Recruiters for BCA Graduates:
Some of the top recruiters for BCA graduates include:
Infosys
TCS
Wipro
HCL Technologies
IBM
Capgemini
Accenture
Cognizant
Tech Mahindra
Microsoft
These are just a few examples of the many companies that hire BCA graduates. With the right skills and experience, BCA graduates can find employment in a wide range of industries, including finance, healthcare, education, and government.
Advantages of BCA
There are several advantages of pursuing a Bachelor of Computer Applications (BCA) degree:
In-demand skills: BCA equips students with in-demand skills that are relevant in today's technology-driven world. These skills include computer programming, software development, database management, and more, making graduates highly sought after in the job market.
Wide range of career opportunities: BCA graduates can pursue careers in a variety of industries such as IT, finance, healthcare, education, and government. They can work as software developers, system analysts, database administrators, project managers, and more.
Hands-on training: BCA programs typically provide hands-on training in computer programming, database management, and software development, allowing students to develop practical skills that are in high demand in the job market.
Opportunities for further education: BCA is a stepping stone to further education such as MCA (Master of Computer Applications), MBA (Master of Business Administration), or other related master's programs.
Flexibility: BCA is a flexible program that allows students to choose from a wide range of electives, making it possible for them to specialize in areas such as web development, mobile application development, and more.
High earning potential: BCA graduates are in high demand and can earn lucrative salaries, especially as they gain experience and specialize in their chosen field.
In summary, pursuing a BCA degree can provide students with a wide range of advantages, including in-demand skills, diverse career opportunities, hands-on training, opportunities for further education, flexibility, and high earning potential.
Conclusion
In conclusion, pursuing a Bachelor of Computer Applications (BCA) degree can provide students with valuable skills, diverse career opportunities, and potential for high earnings in the growing field of information technology. BCA equips students with in-demand skills such as computer programming, software development, and database management, making them highly sought after in the job market.
Graduates can pursue careers in a variety of industries, including IT, finance, healthcare, education, and government, and can specialize in areas such as web development, mobile application development, and more. With the right skills and experience, BCA graduates can earn lucrative salaries and enjoy a successful career.
0 notes
adiawu · 2 years ago
Text
Reflective Blog Post - Toward Dickinson Goals
--- Adia Wu
--- A senior student at Dickinson College
When I first got to Dickinson College, I was a bit worried about if this was the right place for me. The school campus is located in a small town, Carlisle, which is in the central of Pennsylvania, also with its small student population, I was nervous about making social connections and finding opportunities for my future developments as I was unsure about the resources and opportunities that the college could provide. The slower pace of life here was also another fact that I felt not used to at first, consider someone coming from a more urban background. As the result, in the first few months, I focused on getting involved in various clubs and curriculums, trying to explore more experiences here. When I started to discover the courses and curriculums here, I found that Dickinson actually offer a wide range of activities and courses, which allowed me to not only expand my social circle but also develop new skills and interests toward my education. I then gradually became more comfortable in my new surroundings and learned to appreciate the unique benefits of studying at a smaller institution like Dickinson College.
I actually gained lots of benefits during my four years at Dickinson, I discovered that the college's size and setting were actually great for my personal growth and academic success, a slower life pace in a smaller town might sounds boring at first, however, it was really helpful for me to calm down and focus on my study. The close-knit community also allowed me to form strong relationships with faculty members, who have provided me with valuable guidance and supports in both my education studies and personal life. For example, when it was hard for me to return to the U.S. from China in 2020 due to COVID-19 travel restrictions, Dickinson provided me with an opportunity to continue my studies at a great local university in China, Shanghai Donghua University. This unique experience helped me learn about the Chinese educational system and expand my cultural understanding, which is what I hadn't been exposed to during my seven years of studying in the U.S. I also made connections with the local Chinese students and faculties, creating a global network of friends and professional contacts. This international perspective, combined with the interdisciplinary education at Dickinson, prepared me to lead a fulfilling life as an engaged global citizen, which is right in line with the Dickinson mission.
After I become a computer science major student at Dickinson, I found that the courses I took offered a comprehensive and well-rounded education. The CS curriculums here at Dickinson not only provided me with a strong theoretical foundation in computer science principles but also equipped me with practical skills that translated well into the professional real world. For example, my foundation in computer programming was significantly strengthened by taking CS 130 and CS 132 during my first year at Dickinson. CS 130 provided me with fundamental knowledge of Python, a versatile and widely-used programming language, while CS 132 introduced me to Java, another popular language known for its versatility and object-oriented principles. These courses played a crucial role in securing an internship for me in the summer of 2020, where my main responsibility during this internship was to help develop a machine learning models using Python which was related to Transformer Object Detection API. The knowledge I gained from CS 130 and CS 132 enabled me to hit the ground running in my internship, providing a solid foundation for working with programming languages and understanding the underlying principles of machine learning.
Another example can be CS 190 and CS 290 course that I took from Dickinson, which focused on the fundamentals of open source projects and version control systems, and delved into webpage development, covering topics such as HTML, CSS, JavaScript, and responsive design. These courses proved to be invaluable during my summer 2022 internship at a blockchain company, where my primary responsibility was to help develop a webpage application designed to enable customers to switch between cryptocurrencies with lower service fees. I collaborated with a team of developers to implement back-end functionalities, optimize the user experience, and ensure the security of transactions. I secured this internship opportunity by demonstrating my understanding of webpage development and knowledge of open-source projects during the interview (since mostly all the works are done through GitLab, which is similar to the open-source experiences that I had in these two courses using GitHub). The hands-on experience I acquired in CS 190 and CS 290 not only prepared me for real-world challenges but also gave me the confidence to excel in my internship and contribute effectively to the project's success.
Moreover, I took on a capstone project for my senior seminar focusing on open-source software in machine learning. I worked on a tech-spike project in which a deep-learning model was developed to estimate the infection rate of the COVID-19 virus using training data such as CT-scanned lung images; this project enhanced my knowledge and mastery of Pytorch considerably. I am also contributing to an open-source project called Hugging’s Transformers (https://github.com/AdiaWu/transformers), a collection of deep-learning libraries that are applied in modeling speech, text, and image applications. I believe that my education at Dickinson has prepared me well for a successful career in computer science and has empowered me to contribute meaningfully to the ever-evolving world of technology.
As no doubt, I also realized that there was still much for me to learn during the actual job and the actual working with the project, but the foundation I had built through my coursework at Dickinson allowed me to quickly adapt and contribute effectively to the team and projects. What I gained through my learning at Dickinson ensured that I was capable of applying the programming techniques and best practices I had learned in class to real-world challenges, while also expanding my understanding of machine learning algorithms and prepared me well for any other works challenges that I may encounter in the future.
As I embarked on the next phase of my academic journey, which is to pursue a graduate degree, the support and guidance I received from the faculty at Dickinson again proved to be invaluable. The professor provided a lot helps to assist me during the application process, ensuring my success in transitioning to graduate-level studies. They provided timely submission of recommendation letters, which highlighted my strengths and accomplishments as a student and as an individual, emphasizing my readiness for the challenges of a graduate program. The Dickinson faculties also offered valuable guidance on which schools and programs would be the best fit for my academic interests and career goals, helping me make informed decisions as I navigated the complex application process. Their insight and experience in the field of computer science allowed me to identify the graduate programs that would not only align with my objectives but also provide the most enriching learning experiences and opportunities for growth.
All in all, Dickinson College has not only provided me with a strong skills in computer science field but also prepared me well for the challenges and opportunities for pursuing graduate degrees. The faculty's unwavering support and guidance throughout my academic journey have been instrumental in shaping my success and ensuring a smooth transition to the next stage of my education and career. One long-term professional objective of mine after study is to take the knowledge and computational literacy I gained from Dickinson and contribute to open-source software development, specifically in the areas of database system, information systems, and machine learning. I believe that open-source development has the power to inspire passion and encourage the pursuit of life-long learning, regardless of background and prior experience. While I aspire to become a better data professional myself, I also hope to inspire others through my work just as others have inspired me.
1 note · View note
massiveinternetcoffee · 2 years ago
Text
Intro
Tumblr media
I am 25 years old. Learning SQL and the PL/SQL after that. Major is in enviro sci but took a break from college. Plan on learning other languages like Java and everything but I am starting with SQL first.
I also love coffee and old computers because of my first computer which was a gateway.
1 note · View note
jadagul · 3 months ago
Text
I took one programming course in college. The intended first course was "write five thousand lines of Java" but that one didn't seem useful, so I skipped to the second one, which was more of a concepts grab bag.
It was like ten weeks of functional programming (in SML), two weeks of state machines in Python, and a week of programming in an assembly-style language.
And one week was enough to learn to learn everything I need to know about programming in assembly. Specifically: not to.
Learning a bit about how computers process data, how everything is structured as optimized transistors and how all operations are performed as exchange of incomprehensible ones and zeroes, after having programmed in python, and I feel like I've been given a glimpse of the abyss, like I've seen the toenail clippings of an elder god.
15 notes · View notes
drukhari · 3 years ago
Note
Hey Tristan! I've been looking to learn coding for a while, do you have any recs on which language to start with or any free sites/apps I can use to learn and practice on? I technically learned one a few years back for engineering (it was to code maths problems with) but it was kind of way too user friendly compared w any other coding language so I don't think it really counts
Hey! For people looking to get into coding, Python is usually the go-to language to start with. What's nice is that it's a general purpose language so it has a bunch of different applications beyond just one area or another. As far as free sites/apps that offer coding courses, I know Codeacademy is a highly used one that I've used myself in the past. Their courses are interactive so it'll show you the lesson, then give you a practice area and have you write code that their system validates is correct based on whatever the lesson was. Frustratingly they did switch to a freemium model a few years back where some of their early level courses are free and then once you reach a certain tier you have to get a "pro" subscription to access more advanced content. That said, last I had used their site they allowed you a free month of pro access that you can cancel at any time before that 30 day period is up...and I totally wouldn't recommend taking advantage of that with multiple email addresses or anything of that nature 😉
Aside from Codeacademy there's also Coursera that has a catalog of free classes offered by various organizations (some universities, some are Google sponsored, etc) - I ran a search just to see what was out there and it looks like they do have a number of different Python courses as well as other programming languages just in case you wanted to shop around. There are a few other free resources out there based on Google results but I'm not personally familiar with them so I can't vouch for any of them myself. If you're looking to learn the kind of languages that would be particularly useful when it comes to front end web development, W3Schools is another free resource that has courses for people looking to learn HTML, CSS and Javascript that gives you sandbox space to try out coding stuff for yourself on the site after each lesson. All of this said, regardless of what language you choose to start with, Google is gonna be your best friend when it comes to coding at literally any skill level (and I do mean this, I can't tell you how often myself and members of my dev team google "how to XYZ...in java/angular/javascript etc" in a given week), so I'd definitely recommend searching around once you've gotten a chance to tackle some of the basics. There's a ton of video content, articles, documents, and github repositories full of code snippets for new programmers to challenge themselves with, so whatever style of learning fits you best there's a decent chance that there's content out there to support it!
7 notes · View notes